﻿using Basic.FlowApplication.Model.AuditItem;
using Basic.FlowApplication.Model.AuditLog;
using Basic.FlowModel.AuditLog;
using Basic.FlowModel.AuditLogItem;

namespace Basic.FlowApplication.Interface
{
    public interface IAuditLogService
    {
        AuditItemState GetLogItem ( long itemId );
        AuditItemLog GetItem ( long id );
        long[] GetAuditEmpId ( long logId, long rootBatchNo, long nodeId );
        NodeAuditItem[] GetBackNode ( long logId, AuditItemLog log );
        FlowAuditLogState GetLogState ( long logId );
        AuditLog SaveResult ( SaveAuditBody body );
        bool IsInProgress ( long appId, string linkType, long linkPk );
        CreateResult Create ( AuditLogAdd auditLogAdd );
        long[] GetRunNodeId ( long logId, long rootBatchNo, int lvl );
    }
}